//
// Description: 148. 合并果子
// Created by Loading on 2022/6/5.
//

#include <bits/stdc++.h>

using namespace std;

/* Huffman（哈夫曼）树 */
int main() {
    // 优先级队列，由小到大存储果子重量
    priority_queue<int, vector<int>, greater<>> heap;

    int n;
    cin >> n;
    for (int i = 0; i < n; ++i) {
        int x;
        cin >> x;
        heap.emplace(x);
    }

    int res = 0;
    // 一种以上，才需要合并
    while (heap.size() > 1) {
        // 取重量最小的两个合并
        int a = heap.top();
        heap.pop();
        int b = heap.top();
        heap.pop();

        res += a + b;
        // 将合并后的重量加入堆中
        heap.emplace(a + b);
    }

    cout << res << endl;

    return 0;
}